This invention relates generally to computer operating systems and more particularly to computer operating systems for providing enhanced timing capability in instrumentation and control systems.
A Standby Liquid Control (SLC) Logic Processor for a nuclear power plant must react to a number of different events quickly, and therefore must monitor parameters of a number of different systems within the power plant. Some of these parameters change frequently and/or periodically, while others may change only in response to extremely rare events that may never occur in any particular plant. To detect events and change context of the state of a logic processor while incurring a limited amount of overhead, a microprocessor Operating System (OS) can be employed. In some configurations, an SLC may require more simultaneous timers (for example, eight simultaneous timers) than are available in a single microcontroller.
A task oriented OS is employed in at least some known Nuclear Measurement Analysis and Control (NUMAC) instruments. This OS requires all tasks be a executed in a round-robin fashion. The application of this type of OS requires overhead and unnecessary execution of certain functions. Although multiple timing events can be monitored by creating a global static variable as a counter for each timer. These variables can be set and decremented (or incremented) using a system clock. Although fairly straightforward, this method for monitoring a plurality of timing events using a limited number of timers tends to increase the amount of code written and increases maintenance cost for that code. Additionally, the use of global variables makes the design of interfaces more complicated and the operation of different modules more interdependent than may be desired.